package com.umpay.dto.merAccess.req.hxbank;


import org.hibernate.validator.constraints.NotEmpty;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merAccess.req.CommonReq;
import com.umpay.verify.Verifiable;

/*******************************************************************
 * description : 虚拟账户开户
 * @author zhangru
 * @date 2018年10月17日 下午3:15:38
 * @version 1.0
 *******************************************************************/
public class AccOpenReq  extends CommonReq {
	
	@NotEmpty(message = "交易会员名称不能为空")
	@Pattern(message="交易会员名称格式不正确")
	private String tradeMemBerName; //	交易会员名称	60		Y
	
	@NotEmpty(message = "子帐号不能为空")
	@Pattern(message="子帐号格式不正确")
	private String subAcc; //	子帐号 Y	20	规则：
											//	1：平台余额账户（商户线下开立了通过商户信息查询出来，录入到存管表中）     
											//	2：联动余额账户   userid = merid+2（非必须） 
											//	3：联动收益账户   userid = merid+3（非必须） 
											//	4：非会员过度账户 userid = merid+4	（必须）	
	
	@NotEmpty(message = "交易会员性质不能为空")
	@Pattern(message="交易会员性质格式不正确")
	private String tradeMemberProperty; //	交易会员性质	1	0-企业	1-个人	Y
	
	private String contact; //	联系人	30	交易会员性质为0时必填	N
	
	private String contactPhone; //	联系电话	20	交易会员性质为0时必填	N
	
	private String phone; //	手机号码	20	交易会员性质为0时必填	N
	
	private String contactAddr; //	联系地址	128	交易会员性质为0时必填	N
	
	private String businessName; //	法人姓名	64	交易会员性质为0时必填	N
	
	@NotEmpty(message = "证件类型不能为空")
	@Pattern(message="证件类型格式不正确")
	private String identity_type; //	证件类型	2	10：身份证	17：组织机构代码证	Y
	
	@NotEmpty(message = "证件代码不能为空")
	@Pattern(message="证件代码格式不正确")
	private String identity_code1; //	证件代码	30		Y
	
	@NotEmpty(message = "是否需要短信通知不能为空")
	@Pattern(message="是否需要短信通知格式不正确")
	private String isMessager; //	是否需要短信通知	1	1-需要	2-不需要	Y
	
	private String messagePhone; //	短信通知手机号码	20	是否需要短信通知为1时必填	N
	
	@NotEmpty(message = "Email不能为空")
	@Pattern(message="Email格式不正确")
	private String email; //	Email	40		Y


	public String getTradeMemBerName() {
		return tradeMemBerName;
	}

	public void setTradeMemBerName(String tradeMemBerName) {
		this.tradeMemBerName = tradeMemBerName;
	}

	public String getSubAcc() {
		return subAcc;
	}

	public void setSubAcc(String subAcc) {
		this.subAcc = subAcc;
	}

	public String getTradeMemberProperty() {
		return tradeMemberProperty;
	}

	public void setTradeMemberProperty(String tradeMemberProperty) {
		this.tradeMemberProperty = tradeMemberProperty;
	}

	public String getContact() {
		return contact;
	}

	public void setContact(String contact) {
		this.contact = contact;
	}

	public String getContactPhone() {
		return contactPhone;
	}

	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getContactAddr() {
		return contactAddr;
	}

	public void setContactAddr(String contactAddr) {
		this.contactAddr = contactAddr;
	}

	public String getBusinessName() {
		return businessName;
	}

	public void setBusinessName(String businessName) {
		this.businessName = businessName;
	}

	public String getIdentity_type() {
		return identity_type;
	}

	public void setIdentity_type(String identity_type) {
		this.identity_type = identity_type;
	}

	public String getIdentity_code1() {
		return identity_code1;
	}

	public void setIdentity_code1(String identity_code1) {
		this.identity_code1 = identity_code1;
	}

	public String getIsMessager() {
		return isMessager;
	}

	public void setIsMessager(String isMessager) {
		this.isMessager = isMessager;
	}

	public String getMessagePhone() {
		return messagePhone;
	}

	public void setMessagePhone(String messagePhone) {
		this.messagePhone = messagePhone;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Override
	public String toString() {
		return "AccOpenReq [mer_id=" + mer_id + ", tradeMemBerName=" + tradeMemBerName + ", subAcc=" + subAcc
		        + ", tradeMemberProperty=" + tradeMemberProperty + ", contact=" + contact + ", contactPhone="
		        + contactPhone + ", phone=" + phone + ", contactAddr=" + contactAddr + ", businessName=" + businessName
		        + ", identity_type=" + identity_type + ", identity_code1=" + identity_code1 + ", isMessager=" + isMessager
		        + ", messagePhone=" + messagePhone + ", email=" + email + "]";
	}

}
